home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 34.zip / BS1 part 34 / Weubblers handler.adf / Docs / beschreibung.doc < prev    next >
Text File  |  1989-06-26  |  17KB  |  352 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.                             Dos-Handler V2.2
  7.  
  8.                     (c) 1988 by Frank Wuebbeling
  9.  
  10.                           Produktbeschreibung
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18. 1. Einleitung
  19.  
  20.     Leider hat sich Commodore-Amiga bei der Festlegung eines Diskettenformats
  21. fuer diesen Computer fuer einen Alleingang entschieden und ein (relativ) in-
  22. kompatibles gewaehlt. Daher gab es (auch fuer mich) bei der Konvertierung von
  23. Fremdfiles auf den AMIGA bisher immer erhebliche Probleme. Insbesondere ist
  24. es extrem laestig, Files auf einem PC zu erstellen, auf den AMIGA zu kon-
  25. vertieren, dort zu bearbeiten, wieder auf den PC zurueckzukopieren usw... Und das
  26. alles ueber RS232? Dies Programm soll hier Abhilfe schaffen. Es versetzt
  27. AMIGADOS in die Lage, 3 1/2 Zoll-Disketten mit seinen normalen Kommandos zu
  28. verwalten. Alle Programme, die die Angabe von Laufwerkskennzeichnungen
  29. erlauben, koennen direkt mit den PC-Disketten arbeiten. Ausserdem ist es in
  30. der Lage, Amiga-Disketten selbstaendig zu erkennen und gibt diese direkt
  31. ans DOS weiter. Somit muss der Typ einer eingelegten Diskette nicht bekannt
  32. sein, ein <DIR NW0:> bringt in jedem Fall das gewuenschte Ergebnis.
  33.  
  34.  
  35. 2. Die Programme
  36.  
  37.     Auf dieser Diskette befinden sich 3 Programme und mehrere Utilities:
  38.  
  39. 1.) handler/amigados: Dies ist das zentrale Steuerprogramm fuer das gesamte
  40.     Paket. Es wird mit run aufgerufen und installiert einen Port, an den
  41.     saemtliche anderen Programme Anfragen richten. Es ist das einzige Programm,
  42.     das auf die Diskette direkt zugreift, so dass keine Intertask-Probleme
  43.     auftreten koennen. Wird es zweimal installiert, wird mit einer Fehlermeldung
  44.     abgebrochen. Wird ein anderes Programm aufgerufen, ohne dass amigados
  45.     installiert ist, wird dieses mit Fehlermeldung abgebrochen.
  46.  
  47.     Amigados vereinfacht alle Diskzugriffe erheblich. Es ermoeglicht unter
  48.     anderem folgende Zugriffe mit einfachen (!) Befehlen, ohne dass vorher
  49.     Libraries o.ae. geoeffnet werden muessen:
  50.  
  51.     o Einfache Routinen zum Verwalten von Schreibschutz und DiskChange-
  52.       zaehlern.
  53.     o Direkter Trackzugriff auf die uncodierten Trackdaten.
  54.     o Routinen zum Codieren/Decodieren der Rohdaten einer Amiga- bzw.
  55.       PC-Diskette.
  56.     o Direktes Schreiben auf alle angeschlossenen Drives gleichzeitig.
  57.     o Einfaches Installieren von DiskChange-Handlern.
  58.     o Verwaltung von Memory-Listen, die beim Abbruch selbstaendig
  59.       geloescht werden.
  60.     o Automatische Requester im Fehlerfall.
  61.  
  62.     usw., die Beschreibungen befinden sich in Support.doc. Wermutstropfen:
  63.     Die Routinen zum Ansprechen von amigados koennen nur aus AZTEC C (c) 3.6
  64.     direkt genutzt werden.
  65.  
  66. 2.) l/newhandler: Dies ist das eigentliche Device. Dem System muss in der
  67.     mountlist mitgeteilt werden, dass es fuer einen bestimmten Drivenamen
  68.     verantwortlich ist. ACHTUNG: Nach mount wird noch nicht der Code fuer
  69.     einen handler geladen, dies passiert bei der ersten Benutzung.
  70.  
  71. 3.) handler/inhibit: Falls Sie schon einmal unlesbare Disketten in den Amiga
  72.     eingelegt haben, wissen Sie, dass es meist 10 Sekunden dauert, bis das
  73.     Betriebssystem das merkt. Inhibit schaltet bei jedem Diskettenwechsel
  74.     zunaechst den Pruefprozess des Betriebssystems ab und testet selbst den
  75.     Typ der eingelegten Diskette. Ist es der Meinung, dass es sich um eine
  76.     Amiga-Diskette handelt, wird der Prozess wieder eingeschaltet und die
  77.     Diskette normal verifiziert, andernfalls eben nicht und das
  78.     Betriebssystem meldet beim Zugriff auf DF0 (oder DF1..., je nachdem)
  79.     nur ERROR_NOT_A_DOS_DISK. Bemerkung: Dies Programm ist zum Betrieb des
  80.     Handlers zwar nuetzlich, aber nicht notwendig. Sollten Sie in Speicherplatz-
  81.     noeten sein, lassen Sie es einfach weg. Installation mit run handler/inhibit.
  82.  
  83.  
  84.  
  85. 2. Aufruf:
  86.  
  87.     Zum Aufruf des Handlers sollten sich die Programme mount und run Ihrer
  88. Workbench im c:-Ordner befinden. Ausserdem sollten Sie dort amigados und
  89. inhibit installiert haben. Im l:Ordner muss sich der newhandler befinden,
  90. und an das File devs:mountlist muss folgende Sequenz angehaengt worden sein:
  91.  
  92.     NW0:       Handler = l:newhandler
  93.                Stacksize = 5000
  94.                Priority = 5
  95.                GlobVec = 1
  96.     #
  97.     NW1:       Handler = l:newhandler
  98.                Stacksize = 5000
  99.                Priority = 5
  100.                GlobVec = 1
  101.     #
  102.     NW2:       Handler = l:newhandler
  103.                Stacksize = 5000
  104.                Priority = 5
  105.                GlobVec = 1
  106.     #
  107.     NW3:       Handler = l:newhandler
  108.                Stacksize = 5000
  109.                Priority = 5
  110.                GlobVec = 1
  111.     #
  112.  
  113.     Um dies sicherzustellen, lesen Sie bitte zunaechst installation.doc
  114. und fuehren Sie die Anweisungen dort durch.
  115.  
  116.     Nun zum mountlist-File: Die einzige fuer Sie wichtige Zeile ist die erste
  117. jedes einzelnen Eintrags. Hier steht dann z.B:
  118.  
  119.     NW0:       Handler = l:newhandler
  120.  
  121.     Dies bedeutet: Falls irgendwann <mount nw0:> aufgerufen wird, installiere
  122. ein neues Device mit dem Namen nw0:. Das Programm, das dies Device zur Verfuegung
  123. stellt, heisst newhandler und befindet sich im Ordner l:.
  124.  
  125.     Wird dann anschliessend dies Device benutzt, z.B. aus einer Shell heraus
  126. mit <dir nw0:>, wird l:newhandler geladen und ihm der Name nw0: als Parameter
  127. uebergeben. Er analysiert diesen dann und erkennt AN DEM 3. ZEICHEN,
  128. dass er sich als Handler fuer das Laufwerk df0: installieren soll. Entsprechend
  129. ist nw1: fuer df1: zustaendig usw.
  130.  
  131.     Die ersten beiden Zeichen sind fuer den Handler voellig bedeutungslos,
  132. d.h. Sie koennen das neue Device auch pc0: oder bb1: nennen, wichtig ist nur
  133. dass eine Ziffer, die das Laufwerk angibt, zwei Buchstaben folgt. Bemerkung:
  134. Diese Einschraenkung ist systembedingt. Wenn die inliegende Diskette eine
  135. Amiga-Diskette ist, wird der Devicename in dfn: geaendert und an das Betriebs-
  136. System geschickt.
  137.  
  138.     Aber weiter im Text: Wenn alles installiert ist, tippen Sie
  139. <RUN AMIGADOS> und warten, bis die Meldung ausgegeben wird:
  140.     amigados failed returncode nnn
  141. oder
  142.     amigados successfully installed
  143.  
  144. Im ersten Fall war wohl entweder nicht mehr genug Speicher vorhanden oder
  145. amigados war bereits installiert. Im zweiten Fall hat amigados sich erfolgreich
  146. im Speicher festgesetzt und Verbindung zum Trackdisk-Device bekommen.
  147.  
  148.     Falls amigados richtig installiert wurde, haben sie vermutlich eine Meldung
  149. der Form
  150.  
  151.     Drive n could not be opened
  152.  
  153. erhalten fuer alle Drives, die nicht angeschlossen sind. Dies ist lediglich
  154. eine Informationsmitteilung, amigados versucht bei Aufruf ohne Parameter
  155. sich Zugriff auf alle 4 moeglicherweise angeschlossenen Drives zu verschaffen.
  156. Ist ein Drive nicht verfuegbar (vermutlich weil nicht vorhanden), erhaelt
  157. man obige Message. Dies kann verhindert werden durch den Aufruf
  158. <RUN AMIGADOS n>, hierbei steht n fuer die Zahl der angeschlossenen
  159. Diskettenlaufwerke.
  160.  
  161.     Falls Sie ein Laufwerk besitzen, das nicht vom trackdisk.device verwaltet
  162. wird, geben Sie bitte den Namen des Devices und dann die Nummer des zugehoerigen
  163. Laufwerks an. Beispiel: Sie besitzen 3 Laufwerke, 0 und 1 werden vom trackdisk.
  164. device verwaltet, 2 von other.device. Der Aufruf lautet dann korrekt:
  165. <RUN AMIGADOS 3 "other.device" 2>.
  166.  
  167.     Tippen Sie nun <mount nw0:>, oder welchen Namen auch immer Sie vergeben
  168. haben. Erhalten Sie hier eine Fehlermeldung, stimmt vermutlich Ihre mountlist
  169. nicht. Bitte ueberpruefen Sie die Eintraege dort noch einmal.
  170.  
  171.     Das Device ist jetzt ins System eingebunden, aber noch nicht geladen.
  172. Sprechen Sie es nun z.B. durch <dir nw0:> an. Dadurch wird zunaechst der
  173. Code in den Speicher geholt und dann das Directory der in Drive 0 inliegenden
  174. Diskette ausgegeben, das duerfte nun natuerlich eine Amiga-Diskette sein.
  175.  
  176.     Stellen Sie nun sicher, dass sich irgendwo in ihrer Reichweite ein
  177. DIR-Befehl befindet, zum Beispiel auf der Ramdisk oder in einer Shell. Wechseln
  178. sie dann die Disketten und legen sie eine PC-Diskette ein. Es dauert nun einige
  179. Zeit bis das Betriebssystem diese Diskette freigibt. Warten Sie diese Zeit ab,
  180. und VOILA! (hoffentlich) <DIR NW0:> zeigt das Inhaltsverzeichnis der PC-Diskette.
  181.  
  182.     Wollen Sie nun noch das Betriebssystem am Verifizieren von PC-Disketten
  183. hindern, tippen Sie <run inhibit> und das Problem des Wartens nach dem Disketten-
  184. wechsel sollte geloest sein.
  185.  
  186.     Selbstverstaendlich koennen Sie nun auch die anderen Laufwerke durch
  187. <mount nw1:> usw. als PC-Laufwerke installieren. Bedenken Sie aber, dass sich
  188. dadurch der Speicherbedarf erhoeht.
  189.  
  190.  
  191.     3. Benutzung: Naja... Wie ein normales Laufwerk eben. Die normalen Disk-Kom-
  192. mandos sind jetzt fuer das neue Device verwendbar, versuchen sie also mal makedir,
  193. dir, rename, delete usw. Sie koennen das neue Geraet aber auch aus Editoren an-
  194. sprechen, z.B. z nw0:autoexec.bat oder was auch immer.
  195.  
  196.     Das Laufwerk sollte sich immer wie die normalen Laufwerke df0, df1 usw.
  197. verhalten, mit einigen Ausnahmen:
  198.  
  199.     1. (vielleicht die wichtigste:) Die Amiga-Laufwerke arbeiten relativ unsicher.
  200. Beim Erstellen des Programms hatten wir mindestens 10 von den Laufwerken ruinierte
  201. Disketten zu verkraften. Da auf Amiga-Disketten alle Files doppelt verkettet sind,
  202. ist es normalerweise (!) immer moeglich, jedes File zu retten und die darin
  203. enthaltenen Informationen auf eine andere Diskette zu kopieren.
  204.     PC-Laufwerke arbeiten dagegen relativ sicher (?), zumindest sind DiskErrors,
  205. die gleich zur Folge haben, dass es nicht mehr moeglich ist mit der Disk zu
  206. arbeiten, relativ selten. Wohl deshalb haben die Schoepfer des PC-Diskformats
  207. die Einrichtung von Schutzmassnahmen fuer ziemlich ueberfluessig gehalten,
  208. eine PC-Diskette, bei der die FAT kaputt ist, ist wertlos. Deshalb ist diese
  209. zwar auf jeder Diskette zweimal vorhanden, sinnigerweise aber auf demselben Track,
  210. d.h. wenn der Amiga zerstoert, tut er das gleich gruendlich und ruiniert beide
  211. Versionen. Konsequenz ist daher: Wenn Sie haeufig mit newhandler Disketten
  212. BESCHREIBEN (beim Lesen ist das egal), benutzen Sie entweder hochwertige Disketten
  213. (obwohl man auch da schon Fehler bekommen hat) ODER (mein Tip) machen Sie haeufiger
  214. mal eine Sicherheitskopie, ein Kopierprogramm liegt bei. Dies schuetzt auch vor
  215. Fehlern, die dadurch entstehen, dass Amiga-Laufwerke haeufig viel zu langsam
  216. laufen (Uebrigens ein sehr unangenehmes Phaenomen, einige PCs haben auf den
  217. innersten Spuren Schwierigkeiten mit AMIGA-Disketten mit sehr hoher Schreib-
  218. dichte, benutzen Sie zur Feststellung der Trackkapazitaeten TrackCap).
  219.  
  220.     2. Amiga-Disketten haben grundsaetzlich einen Namen, PC-Disketten oft nicht.
  221. Der Name dieser Disketten ist dann der Name des Laufwerks (also z.B. nw0:).
  222.  
  223.     3. Amiga-Disketten koennen eindeutig identifiziert werden. Sie erhalten also
  224. die Aufforderung <Please insert Disk xxxxxxxxxx in any Drive> wenn Sie eine
  225. Diskette ansprechen, die augenblicklich nicht verfuegbar ist. Da PC-Disketten
  226. ueber ihre MagicNumber identifiziert werden, erhalten Sie hier die Aufforderung
  227. <Please insert Disk with MagicNumber %%%%%% in Drive %%%.> Da die MagicNumber
  228. normalerweise fuer den Benutzer transparent ist, muessen Sie evtl. hier aus-
  229. probieren welche Diskette gemeint ist; im allgemeinen duerfte das aber klar sein.
  230. Ausserdem muessen Disketten immer wieder in den Drive eingelegt werden, in dem
  231. sie auch benutzt wurden, d.h. eine Diskette, die ein Lock auf Drive nw0:
  232. erhaelt, wird in Drive nw1: nicht erkannt. 
  233.     Wenn die Aufforderung mit Anfuehrungszeichen abgeschlossen wird, sollte
  234. die angeforderte Diskette UNBEDINGT! in den Drive eingelegt werden, es sind
  235. dann Trackdaten noch nicht zurueckgeschrieben worden.
  236.     P.S.: Alle Requester interpretieren einen Diskwechsel als einen Klick auf
  237. ok. Nach einem OK-Klick wird eine Operation wiederholt, es sei denn, sie war 
  238. fatal fuer den Handler. Nach einem QUIT-Klick wird die Operation abgebrochen.
  239. (In diesem Fall wird uebrigens immer ein ERROR_ACTION_NOT_KNOWN an das auf-
  240. rufende Programm abgesetzt, normalerweise sollten alle Programme in der Lage
  241. sein das zu verstehen.)
  242.     4. Die PC-Laufwerke sind fuer die Workbench unsichtbar. Das macht aber nichts,
  243. da die eingelegten Disketten wohl ohnehin keine Icons enthalten.
  244.     5. Die Namen-Laenge und das Format des Filenamens sind bei PC-Disketten
  245. staerker festgelegt als auf dem AMIGA. Bei der Uebertragung eines AMIGA-Namens
  246. wird deshalb rigoros gekuerzt, bis ein PC-Filename entsteht. Beispiele:
  247.  
  248.     hallo       -->    HALLO
  249.     hallo.prog    --> HALLO.PRO
  250.     hallo.progr --> HALLO.PRO
  251.     hallofrank  --> HALLOFRA
  252.  
  253. usw.
  254.     6. Fuer die Pfadnamen gelten die AmigaDos-Konventionen, d.h. der Slash /
  255. trennt die Pfade, ein vorangestellter : fuehrt ins RootDirectory, ein voran-
  256. gestellter / fuehrt ins Parent-Directory.
  257.     7. In Sub-Directories sind die Directory-Namen . und .. gueltig, sie werden
  258. aber in Directories nicht aufgefuehrt um rekursive Directory-Listings zu er-
  259. lauben.
  260.  
  261.  
  262.  
  263. 4. Die Utilities:
  264.  
  265. Alle Utilities stehen im handler-Ordner der Diskette und noch einmal im C-
  266. Ordner. Sie sollten von dort auf die Bootdiskette kopiert werden, falls
  267. sie oefter benoetigt werden.
  268.  
  269. 1. MsFormat: Formatiert Disketten im PC-Format. Das Programm akzeptiert zwei
  270. Parameter, der erste bestimmt den Drive auf den geschrieben werden soll,
  271. der zweite gibt die Anzahl der Sektoren pro Track an (<=10!!!). Standard-
  272. Voreinstellungen sind 10 Sektoren auf Disk 0. MsFormat verifiziert nicht,
  273. lesen Sie die Beschreibung zu SafeFormat.
  274. Beispiel: <MsFormat 10 0>
  275.  
  276. 2. MultFormat: Wie MsFormat, akzeptiert als Parameter aber nur die Anzahl der
  277. Sektoren pro Spur. Formatiert auf allen angeschlossenen Drives gleichzeitig.
  278. Beispiel: <MultFormat 10>
  279.  
  280. 3. MsCopy: Kopiert Disketten von PC-Format nach PC-Format. Kopiert nur von
  281. Drive 0 nach Drive 1.
  282. Beispiel: <MsCopy>
  283.  
  284. 4. MultCopy: Wie MsCopy, kopiert aber von Drive 0 auf alle anderen
  285. angeschlossenen Drives.
  286. Beispiel: <MultCopy>
  287.  
  288. 5. Shutdown: Schiesst amigados ab. Dieser Befehl entfernt amigados aus dem
  289. Speicher und gibt alle seine Resourcen frei. ACHTUNG: Nach Anwendung dieses
  290. Befehls wird der Port von amigados natuerlich ungueltig, d.h. jede Verwendung
  291. eines Programms, dass bereits im Speicher installiert wurde und amigados
  292. benutzt, wird bis in alle Ewigkeit auf Antworten von amigados warten.
  293. Bitte benutzen Sie das Programm nur bei echter Speicherknappheit und wenn Sie
  294. sicher sind, dass sie keines der unter newhandler laufenden Devices mehr benutzen
  295. wollen. Benutzen Sie Shutdown AUF KEINEN FALL, wenn Sie inhibit installiert haben.
  296.  
  297. Beispiel: <ShutDown>
  298.  
  299. 6. ToAtari: Liest von stdin ein Amiga-Textfile und gibt es im PC-Format wieder
  300. aus, d.h. alle LineFeed werden durch CarriageReturn/LineFeed ersetzt. Beispiel
  301. zum Uebertragen eines Amiga-Textfiles auf eine PC-Diskette:
  302.  
  303. Beispiel: "ToAtari <df0:AmigaFile >nw1:PCFile"
  304.  
  305. 7. FromAtari: Wie oben, aber streicht alle CRs aus einem Text.
  306.  
  307. Beispiel: "FromAtari <nw1:PCFile >df0:AmigaFile"
  308.  
  309. 8. ShowTrack: Zeigt die rohen Trackdaten einer eingelegten PC-Diskette an.
  310. Ausgegeben werden zu jedem gelesenen Wort: 1. Das Wort selbst, 2. Seine
  311. Standard-MFM-Decodierung. Zur naeheren Erlaeuterung siehe Technical.doc.
  312. Zum Lesen von Track 0, Head 0:
  313.  
  314. Beispiel: "ShowTrack 0 0"
  315.  
  316. 9. Format40: Formatiert im 40-Track-Format.
  317.  
  318. Format40 ist nur noch zu Demonstrationszwecken vorhanden, benutzen Sie zum
  319. Formatieren von 40Track-Disketten SafeFormat.
  320.  
  321. 10. SafeFormat: SafeFormat formatiert Disketten in Original-PC-Format, d.h.
  322. auch die Media-Bytes werden korrekt geschrieben. SafeFormat akzeptiert 3
  323. Parameter in beliebiger Reihenfolge:
  324.  
  325. Drive, der formatiert werden soll;
  326. Anzahl der Tracks auf der neuen Diskette;
  327. Anzahl der Sektoren pro Track.
  328.  
  329. SafeFormat verifiziert die geschriebenen Daten. Als korrekte MSDos-Formate
  330. werden die Formate 80 Tracks, 9 Sektoren/Track und 40 Tracks, 9 Sektoren
  331. /Track erkannt.
  332.  
  333. ACHTUNG: NUR DIESE FORMATE WERDEN VON MSDOS 3.1 ERKANNT. UM SICHER ZU GEHEN,
  334. SOLLTEN SIE FUER MSDOS AUSSCHLIESSLICH DIESE FORMATE VERWENDEN.
  335.  
  336. Voreinstellung ist 80 Tracks, 10 Sektoren auf Disk 0.
  337.  
  338. Beispiel: "SafeFormat 0 40 9" fuer das Standardformat auf Drive 0
  339.  
  340. ACHTUNG: Damit der Handler die neu formatierte Diskette erkennt, muss die
  341. Diskette nach dem formatieren kurz aus dem Laufwerk gezogen und wieder
  342. eingeschoben werden.
  343.  
  344. 11. TrackCap: Ermittelt die TrackKapazitaet einer in Laufwerk 0 eingelegten
  345. Diskette. Eine sehr hohe Kapazitaet kann zu Leseschwierigkeiten auf PC-Laufwerken
  346. fuehren. Eine sehr niedrige Kapazitaet bringt u.U. Schreibfehler auf 10-
  347. sektorigen Disketten, sie sollte daher nicht wesentlich unter 6230 Bytes
  348. liegen (das gilt nur fuer die auf dem AMIGA formatierten oder beschriebenen
  349. Disketten!)
  350.  
  351. Beispiel: "TrackCap"
  352.